AWS CloudFormation
개요
https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/getting-started
인프라 프로비저닝을 위해 리소스를 안전하게 정의된 양식으로 관리할 수 있도록 도와주는 도구
템플릿 양식이 존재하며, 키값 방식으로 작성되어 있다.
타입스크립트, yaml 양식으로도 작성은 가능하다고 하는 것 같다.
존재하는 템플릿이 있다면, 그것을 스택이라는 단위로 띄운다.
템플릿에 맞춰 해당 스택이 만들어지고, 이 스택에 맞춰서 모든 정의된 리소스들이 생성되고 관리되는 것이다.
스택
클라우드포메이션의 가장 기본적인 단위라고 할 수 있다.
만들고 나서 저장을 할 필요가 있는데, 기본적으로는 s3에 저장된다.
키값 방식으로 템플릿이 작성되기 때문에 그런 듯하다.
3가지 방법으로 템플릿을 통해 생성할 수 있다.
- 만들어진 템플릿 선택
- 샘플 템플릿
- application composer로 제작
다양한 옵션 지정이 가능하다.
만들 때 꽤나 오랜 시간이 걸린다.
Infrastructure Composer
Application Composer는 json, 혹은 gui 툴로 아키텍쳐를 만들어서 스택으로 바로 만들어낼 수 있는 툴이다.
24.07.03 기준 아직 베타버전이다.
(2025.02.02 확인해보니 Infrastructure Composer로 이름을 바꾸어 여기에도 바꾸어 정리한다.)
템플릿을 빌드한다고 표현한다.
간단하게 이런 식으로 만들어낼 수 있다.
모두 만들고 나면 템플릿을 생성하는 것도 가능하다.
valid를 누르면 유효한지 확인할 수 있다.
lambda를 넣으려고 해봤는데..
콘솔모드에서 사용할 수 없는 케이스도 존재하는 모양이다.
서버리스들이 아마 사용할 수 없는 것이려나.
작업을 진행하면 s3에 저장할 수 있게 된다.
IaC 생성기
아마도 내가 원하는 아키텍쳐를 다 만들고나서 이걸로 템플릿을 만들 수 있다.
스캔을 진행하고 나면 내가 만든 리소스를 확인하고 고를 수 있다.
이름 개대충 지었는데, 잘 나오는 게 확인된다.
그나저나 따로 내가 더 설정한 게 없는 것 같은데 리소스가 86개나 된다.
똑똑하게 필요한 리소스도 알려준다.
만들어지고 나면, 템플릿 파일이 예쁘게 알아서 생긴다!
이걸 사용하기 위해서는, 스택으로 가져가야만 한다.
결국 템플릿을 사용하는 단위는 스택이기 때문이다.ㅁ
옵션 중에서는 템플릿 삭제 시 리소스도 삭제된다는 옵션이 존재하는데, 막상 템플릿 삭제한다고 알아서 삭제되지는 않는다.
템플릿으로 만들어졌을 경우에 대해서만 작동하는 옵션인 것 같다.
따지자면 템플릿은 인터페이스, 스택이 구현체이다.